This application applies various patches to other applications or to desk accessories.  This approach gives more control over conflicts and memory bloat than extending application behavior by adding extensions to the system.

The patching process adds certain resources to the application.  No existing resources are modified, so it is easy to remove the patches if desired.

Installation

If you use GateKeeper, turn it off before using the patcher.  Some other virus detection programs might also think that what the patcher does is suspicious.  Disinfectant won’t complain.

Set the checkboxes the way you want them, then click the Patch button.  You will see a standard directory dialog box, which you should use to select the application you want to modify.  If all goes well, then in a few seconds you will see an alert saying that the patches have been applied successfully.

If you should change your mind about the optional settings, just change the checkboxes and patch again.  It is not necessary to unpatch first.  Any patches that are unchecked will automatically be removed.

The Unpatch button removes all of my patches from a selected file, regardless of the checkbox settings.

Compatibility

The patches have not been tested with System 6, and definitely are not safe to use without MultiFinder.

These patches are not compatible with PopUpFuncs, because it uses the same mechanism to add features to an application.  If such a product is installed, the patcher will warn you, and you should normally decide not to do the patch.

The patches reportedly are compatible with CMaster, except that the word wrapping icon will fail to appear.

If you use ClickChange, it may prevent the word wrap icon from appearing unless you exclude the patched applications from ClickChange.

If you use the “Simple Term” tool in ASLEdit+, you probably will not want to use the matched pair patches, because “Simple Term” does not support the arrow keys.

The page up and down patch behaves a bit strangely in DiskTop 4.5.  Namely, the thumb of the scroll bar may jump to an incorrect position, depending on where you left the mouse cursor parked.

I hear that the Windows patch does not work in EndNote Plus.

Distribution

These Text Editor Patches and this installer are copyrighted freeware.  They may not be sold or offered for sale, or included with another software product offered for sale, except with the express written permission of the author.  They may be redistributed, so long as they remain unchanged.  Of course, if you want to send me some money for it, you can.

You should not upload a patched version of a copyrighted application to any BBS without permission from the author of the application.

This program is provided as is, and is not guaranteed.

Author’s Address

E-mail:
CompuServe: 76367,2271
America Online: JWWalker
Internet: jwwalker@kagi.com

Hard mail:
James W. Walker
766 S. Nardo Ave. #C9
Solana Beach, CA 92075

Acknowledgements

Thanks to Larry Gerndt for the idea for THINK Link, and to Susan Lesch for beta testing and interface advice.  The Emacs Keys patch is by Adolfo Villafiorita.  A set of TeX patches was contributed by Juan L. Varona.

The Word Wrap Patch

Two of the nicest free text editors, BBEdit Lite and ASLEdit+, lack automatic word wrapping, as does the text editor built into THINK C.  So I designed a hack that adds a simple form of word wrapping to these editors.

When the patch is installed, each title bar of an editing window will contain a small icon indicating whether the word wrapping feature is on or off.  Click on the icon to change its state.  When word wrapping is on, then when the insertion point gets close enough to the right edge of the window, the next space character will be changed into a return character.  If you happen to type a very long word near the margin, or if you type fast on a slow machine, it is possible that you will type past the margin.  This is not a perfect word-wrapping method, but it is the best I can do without access to the application’s internal data structures.

You can prevent an individual space character from being turned into a carriage return by holding down the shift key as you type it.

This patch can also be used with a DA editor, such as the DA form of ASLEdit+, if the DA has been installed directly into an application or has been “application-ized” under System 7.

The Page Up and Down Patch

For text editors that do not implement the page up and page down buttons on the extended keyboard, this patch converts those keystrokes into the equivalent clicks on the vertical scroll bar.  If the window happens to contain more than one vertical scroll bar, the patch might click the wrong one.

The SimpleText Power Pack

This is a package of my favorite patches for SimpleText: Color Menu, Windows Menu, SimpleText Style Save, and SimpleText Picture Paste.  See their individual descriptions below.

The Pair (), [],  Patch

Generate parentheses, brackets, and braces in pairs.  For instance, if you type a left parenthesis, then a right parenthesis and left arrow will also be inserted for you, so that the insertion point will be poised between the matched pair.

The Singles Patch

When using one of the pairs patches above, sometimes you want to type the left member of the pair all by itself.  This patch allows you to do so by pressing the control key as well as the usual keys.  For instance a left parenthesis would be control-shift-9, assuming the U.S. keyboard layout.

The Forward Delete Patch

This patch implements the forward delete key on extended keyboards by changing it to a right arrow followed by an ordinary delete.

The Windows Patch

This patch adds a Windows menu to an application that lacks one, such as Finder or SimpleText.  Remember that you will not be able to patch Finder while it is running.  Either quit the Finder, if you know how to do that, or boot from a different startup disk.

The Stationery Menu Patch

This patch adds a menu that lists stationery files (or, really, any frequently-used type of files) for an application.  When you choose the last item on the menu, named Setup, you get a dialog in which you can choose the menu title.  In this dialog, there is also a button named Specify.  Click Specify, and in the resulting directory dialog, choose an example of the type of file you want to list.  Then all the files in the same folder with the same type as that file will be listed in the menu.  This patch will probably not work in applications that are not AppleEvent-aware, but these days most are.

The Color Menu Patch

This patch adds a color menu to SimpleText, for adding color as a text style.  It may also work on other editors that edit styled text and have the same 32K limitation, but I can’t think of any other such editor that lacks a color menu.

There is one problem with how it works:  When you apply a color, the selection flashes as the underline style is applied and removed.  This is just a strange way for my patch to convince SimpleText that the text has been modified, so that SimpleText won’t neglect to save the changes to disk.

The SimpleText Picture Paste Patch

People are always wondering why you can’t just paste a picture into a SimpleText document.  Well, now you can.  A few caveats:
1. You can’t paste a picture into an untitled document.  If you have not saved the file to disk, attempting to paste a picture will just get you a beep.
2. When you paste a picture, it saves the picture to the resource fork of the document.  However, the change to the text, an option-space character to mark the vertical position of the picture, is not saved.  If you then closed the window without saving, the file would be in a somewhat inconsistent state.
3. It attempts to paste enough returns after the option-space to leave room for the picture, but you may need to make adjustments.  If such editing erases the picture, the easiest way to make the picture come back is to slightly resize the window.

Besides an untitled document, there are a couple of other things that could cause a beep:
1. An existing PICT resource could not be moved, perhaps because its “protected” flag is set or because there was not enough memory in SimpleText’s partition.
2. A new PICT resource could be added, perhaps because the disk is locked or full.

The SimpleText Style Save Patch

I was bothered by the fact that when you save a file in SimpleText, the style changes do not get written to disk.  They do get written when you close the file, but I got into trouble by stuffing a file while it was open for editing.  So I wrote this patch to ensure that as soon as you hit “Save”, the style changes will be written to disk.

The Pair $$ Patch

Generate dollar signs in pairs as with the other pairs patch, for those typing TeX source code.

The Emacs Keys Patch

For those whose fingers were trained by Emacs, this translates some of the most common emacs keystrokes into keystrokes that are understood by BBEdit.  The code was contributed by Adolfo Villafiorita.  The keystrokes are:

^A        beginning of line
^E        end of line
^F        forward character
^B        backward character
^P        previous line
^N        next line
^D        forward delete char
^K        kill to the end of line
^V        next page
OPTION V  previous page

The control-K keystroke is translated into a sequence of 3 keystrokes (cmd-shift-right arrow, shift right arrow, cmd-x) so it is somewhat slow.  Control-A and control-E are translated into the standard Macintosh keystrokes command-left-arrow and command-right-arrow, so applications which fail to handle the latter keystrokes will also fail to handle control-A and control-E.

The TEClip Patch

Some applications that use monostyled text do not do a good job of keeping their internal clipboard synchonized with the system clipboard.  The symptom is that what you paste is not always what you copied to the clipboard.  In particular I wrote this to fix problems with the Retriever Light DA, but other programs may benefit.

For programmers:  This patches TECopy, TECut, and TEPaste.  On the tail of TECopy and TECut it calls ZeroScrap and TEToScrap.  On the head of TEPaste it calls TEFromScrap.

The HyperCard Cursor Patch

For some reason, the text cursor in HyperCard, prior to version 2.2, had its “hot spot” in an unusual place, making it more difficult to select some text.  The patch puts the “hot spot” back in the normal position.  If you have version 2.2 or later, you do not need this patch.

The Bell for MATLAB Patch

I wrote this one so that I could make a procedure in Student MATLAB sound a beep.  When a procedure types out a control-G character (ASCII BEL) this patch replaces the character by a beep.

The ASL Font Patch

Change the default font used in ASLEdit+ from ASLFont+ to Monaco.

An ASLFont+ patch is provided for personal use only.  You should not change the default font of ASLEdit+ if you have any intention of using KanjiTalk or the ASLFont+.  Although you can set the font to ASLFont+ even with the patch in place, that font choice will not be respected the next time you open the document.

If you want ASLEdit+ to use a different default font than Monaco, you will have to use ResEdit either on the patched application or on this installer.  Edit the 'JWfn' resource.  It contains a length byte followed by a font name.

• Complete TeX Patch

These are several patches designed to be used with text processor to type TeX source code. We MUST INSTALL ONLY ONE OF THEM, according the language of the keyboard of our Macintosh and the method that we want to use to type accents.

With these patches, we generate a lot of useful shortcuts for TeX:

1.- We write Greek letters by using the option (or option + shift for capitals) at same time that the similar Roman letter. This is also employed to type several frequent mathematical symbols (\nabla, \partial, \hbar, \emptyset \aleph, \times).

2.- We write vowels with accents pushing the accent key and the vowel. Also ñ (and Ñ), that is indeed written in TeX as an accent, is considered in this category. (Note, moreover, that in Spanish, it has its own key.)

3.- We write non English characters (¿, ¡, ç, ß ø, æ, œ, å), some mathematical symbols (≤, ≥, ∞, ≠, ¬, ±, •, ◊, ÷, ≈, ∆, ∫) and other special symbols (like …, ©, §, ¶, †, etc.) by typing the corresponding keys in the Macintosh keyboard, as in any other application.  They are considered less important than Greek letters, and they will not be used if the position in the keyboard correponds to the one assigned to a Greek letter. But it is important to note that any useful letter in a language (for instance, ¿ in Spanish, ß in German, ç in Catalan and French, etc.) has its own key in the corresponding keyboard, so they are not intercepted by any Greek letter.

4.- We use the function keys F5, F6, F7 and F8 to generate (), [], , and || respectively. Using them with option we get \(\), \[\], \\, and \|\|. (In all these cases, the cursor appears in the middle.) And, finally, pushing also command, the selected text is surrounded by the corresponding delimiters.

5.- Pushing the key with the number 4 (that, in many languages, also has the symbol $) at same time that command, we get $$ with the cursor in the middle. And pushing also option, the selected text is surrounded by two $.
(Note: In AZERTY and QZERTY keyboards, pushing the key with the symbol $.)

These patches have been written (with the help of Jim Walker, the author of “Text Editor Patches”, this patcher application) by:

Juan L. Varona
Dpto. de Matemáticas y Computación
Universidad de La Rioja
26004 Logroño, SPAIN
e-mail: jvarona@siur.unirioja.es

For a complete explanation of the patch, read the TeX document TeXpatch.tex.

The QWERTY TeX Patch (with \'\i)

This is ready for QWERTY keyboards, like U.S. and Spanish.

Actually, it works better with languages in which there are accents because, in such cases, the corresponding keyboards have dead-keys to type accented vowels. This happens, for instance, in Spanish.

The QWERTY TeX Patch (with \'i)

This is ready for QWERTY keyboards, like U.S. and Spanish.

It is mainly thought for keyboards where there are not dead-keys in a easily accessible position. So, typing, for instance,  the key with the symbol ¨ and it is generated the corresponding TeX code \". But, in this manner,  it is not possible to distinguish when the letter to accentuate is i, and it is not possible to put out the point over it. To solve this, we can redefine, for instance, the TeX accent \' as

\def\'#1\if#1i\accent"13\i\else\accent"13 #1\fi

and the point will be retired without problems. (Similar for accents \", \^, \` and \~ putting, instead of 13, the codes 7F, 5E, 12 and 7E respectively.)

Remember that, to properly use this patch, the previous TeX code MUST be included in each TeX file.

The AZERTY TeX Patch (with \'\i)

This is ready for AZERTY keyboards, like French.

Actually, it works better with languages in which there are accents because, in such cases, the corresponding keyboards have dead-keys to type accented vowels.

The AZERTY TeX Patch (with \'i)

This is ready for AZERTY keyboards without dead-keys.

Remember that, to properly use this patch, the TeX code that we explain in The QWERTY TeX Patch (with \'i) section MUST be included in each TeX file.

However, we don't have any solution for ^ and ` French accents (for non-dead keys), because they are also useful TeX symbols. 

The QWERTZ TeX Patch (with \'\i)

This is ready for QWERTZ keyboards, like German.

Actually, it works better with languages in which there are accents because, in such cases, the corresponding keyboards have dead-keys to type accented vowels.

The QWERTZ TeX Patch (with \'i)

This is ready for QWERTZ keyboards without dead-keys.

Remember that, to properly use this patch, the TeX code that we explain in The QWERTY TeX Patch (with \'i) section MUST be included in each TeX file.

The QZERTY TeX Patch (with \'\i)

This is ready for QZERTY keyboards, like Italian.

Actually, it works better with languages in which there are accents because, in such cases, the corresponding keyboards have dead-keys to type accented vowels.

The QZERTY TeX Patch (with \'i)

This is ready for QZERTY keyboards without dead-keys.

Remember that, to properly use this patch, the TeX code that we explain in The QWERTY TeX Patch (with \'i) section MUST be included in each TeX file.